ln(1) | 2007-10-27-16:31 | ln(1) |
НАЗВА¶
ln - створює посилання на інший файл.
СИНОПСИС¶
ln [опції] джерело [місце_призначення]
ln [опції] джерело(a)... [каталог]
POSIX опції: [-f] [--]
GNU опції (коротка форма): [-bdfinsvF] [-S СУФІКС] [-V {numbered,existing,simple}] [--help] [--version] [--]
ОПИС¶
Існує дві концепції про посилання у Юніксах відомі як жорсткі і і символічні посилання. Жорстке посилання є всього лиш іншим іменем для того самого файла (файл може мати декілька різних імен і буде повністю видаленими з диску лише коли останню з його назв видалено). Кількість імен файла можна взнати за допомогою ls(1). Не існує такого поняття як "оригінальна назва", всі назви файла мають той самий статус. Як правило, хоча не обов'язково, всі імена файла знаходяться на тій самій файловій системі що утримує його дані.
Символічне (м'яке) посилання є зовсім іншим створінням, - це невеликий спеціальний файл що утримує шлях до іншого файла. Таким чином, символічні посилання можуть вказувати на файли що знаходяться на інших файлових системах (навіть NFS монтованих з інших машин). Символічні посилання можуть навіть вказувати на неіснуючий файл. Під час доступу до символічного посилання (за допомогою open(2) або stat(2) системних викликів), ядро операційної системи заміняє його на вказаний там шлях до дійсного файла. (Але у випадку rm(1) або unlink(2), видаляється лише посилання а не файл на який воно вказує). Існують спеціальні системні виклики, такі як lstat(2) і readlink(2), які зчитують статус символічного посилання і файла на яке воно вказує. Щодо інших системних викликів, вони різняться в залежності від операційної системи у тому чи відносяться їхня дія до посилання, чи до дійсного файла.)
ln створює посилання між файлами. За замовчуванням - жорсткі, якщо надати -s опцію - символічні.
Якщо аргументом є лише один файл, ln створить посилання до цього файла у поточній директорії (за умови що ви і файл знаходитесь у різних директоріях). Назва посилання у такому випадку буде співпадати із назвою оригінального файла. (Це являється GNU розширенням.) У іншому випадку, якщо останнім аргументом команди є існуючий каталог, ln створить посилання на кожний файл вказаний як джерело(а) у вказаному каталозі. Назви посилань також будуть співпадати з назвами оригінальних файлів файлів (подивіться також опис --no-dereference опції нижче). У випадку ж коли дві назви файлів надано як аргумент, це повинно створити файл-посилання (місце_призначення) на вже існуюче джерело. Вам видасть помилку у випадку якщо останнім аргументом не є каталог і більше ніж дві назви файлів надано як аргумент.
За замовчуванням ln не вилучає вже існуючих файлів або символічних посилань. (Це може використовуватись для блокувальних цілей, команда матиме успіх лише якщо місце_призначення з таким іменем ще не існує.) Але можна заставити її це здійснити завдяки опції -f.
На сучасних втіленнях, якщо і є можливим створити жорстке посилання на каталог, це може здійснити лише root користувач. POSIX забороняє системному виклику link(2) і знаряддю ln створювати жорсткі посилання на каталоги (зате не згадує про жорсткі посилання поза межами файлової системи.)
POSIX ОПЦІЇ¶
- -f
- Видалити, якщо файл (місце_призначення) з таким ім'ям вже існує.
- --
- Завершити список опцій.
GNU ОПЦІЇ¶
- -d
-
,
-F
,--directory
Дозволити root користувачеві створити жорстке посилання на каталог.
- -f
-
,
--force
Видалити, якщо файл (місце_призначення) з таким ім'ям вже існує.
- -i
-
,
--interactive
Спитати чи видаляти вже існуючі файли з таким ім'ям.
- -n
-
,
--no-dereference
Якщо останнім аргументом є вже існуюче символічне посилання на якийсь каталог, ln із -n опцією віднесеться до цього посилання як до звичайного файла (надає можливість перенаправляти символічні посилання на каталоги на щось інше).
Якщо останній аргумент є дійсним каталогом (не символічним посиланням на каталог), матиме місце стандартне поводження, коли посилання створюватимуться у цьому каталозі. Лише у випадку коли останнім аргументом стоїть символічне посилання на каталог існують дві можливості інтерпретувати наміри користувача. ln може сприйняти місце призначення за звичайний каталог і створити всередині посилання, або цей аргумент розглядатиметься не як каталог а як звичайний файл. (В останньому випадку, ln видалить або зробить резервну копію файла-символічного посилання перед тим як створити нове символічне посилання.) За замовчуванням місце призначення у вигляді символічного посилання на каталог розглядається як каталог.
- -s
-
,
--symbolic
Утворити символічне посилання замість жорсткого. Ця опція призведе до повідомлення про помилку на системах що не підтримують символічних посилань.
- -v
-
,
--verbose
Видрукувати назву кожного файлу перед створенням посилань.
GNU ОПЦІЇ РЕЗЕРВНОГО КОПІЮВАННЯ¶
GNU версії таких програм як cp(1), mv(1), ln, install(1) і patch(1) можуть робити резервну копію файла що буде перезаписано, змінено або видалено. Створення копій вказується -b (--backup) опцією. Їхня назва вказується за допомогою -V опції. У випадку якщо бажане співпадання з назвами оригіналів, лише було додано суфікс, вживається -S опція.
- -b, --backup
- Створити резервну копію файлів що будуть перезаписані або видалені.
- -S СУФІКС, --suffix=СУФІКС
- Додати СУФІКС до кожного резервного файла. Якщо ця опція не вказана, буде вжите значення змінної середовища SIMPLE_BACKUP_SUFFIX. І якщо SIMPLE_BACKUP_SUFFIX змінна не встановлена, вживатиметься стандартне `~'.
- -V МЕТОДА, --version-control=МЕТОДА
- Вказує
методу за
якою
відбуватиметься
іменування
резервних
копій.
МЕТОДА
аргумент
може бути
`numbered' (або `t'), `existing'
(або `nil'), або ж
`never' (або `simple').
Якщо ця
опція не
вказана,
вживатиметься
значення
змінної
середовища
VERSION_CONTROL. У
випадку не
встановленої
VERSION_CONTROL змінної,
методою
іменування
за
замовчуванням
є `existing'.
Ця опція співпадає з Emacs змінною `version-control'. Чинними методами є (можна використовувати також абревіатури):
- t, numbered
- Завжди створювати нумеровані копії.
- nil, existing
- Створювати нумеровані копії файлів що вже мають копії і звичайні копії для решти.
- never, simple
- Завжди створювати прості копії.
GNU СТАНДАРТНІ ОПЦІЇ¶
СЕРЕДОВИЩЕ¶
Змінні LANG, LC_ALL, LC_TYPE та LC_MESSAGES залишаються чинними.
УЗГОДЖЕННЯ З СТАНДАРТАМИ¶
POSIX 1003.2. Тим не менш, POSIX 1003.2 (1996) не розглядає символічні посилання. Символічні посилання були привнесені BSD і не зустрічаються у System V 3-го релізу (і старших) системах.
<seealso> Man:man1/ls.1|ls(1) Man:man1/rm.1|rm(1) man:man2/link.2|link(2) man:man2/lstat.2|lstat(2) man:man2/open.2|open(2) man:man2/readlink.2|readlink(2) man:man2/stat.2|stat(2) man:man2/unlink.2|unlink(2) </seealso>
КОМЕНТАР¶
Ця сторінка описує ln що постачається з пакетом fileutils-4.0; інші версії можуть трохи відрізнятись. Поправки і доповнення висилайте на aeb@cwi.nl. Доповіді про вади програми - на fileutils-bugs@gnu.ai.mit.edu.
---- Переклав українською Віталій Цибуляк <vi@uatech.atspace.com>
2007-10-27-16:31 | © 2005-2007 DLOU, GNU FDL |